package ar.uba.fi.algo3.tp1.modelo.funciones.operadores;

import ar.uba.fi.algo3.tp1.modelo.excepciones.*;

public class OperadorLogaritmo implements Operador{

	/**
	 * Pre: Los valores deben ser mayores a cero.
	 * Post: Devuelve el logaritmo del valor en la base indicada
	 */
	public double ejecutar(double valor,double base) throws eLogNoValido{
		if (valor<=0) throw new eLogDeNumeroNegativo();
		if (base<=0) throw new eBaseLogNoPositiva();
		double numerador=Math.log10(valor);
		double divisor=Math.log10(base);
		return numerador/divisor;
	}
	
	public String toString(){
		return "log";
	}
}
